#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<stdlib.h>
/*
 *
Loop : 1
......
Loop : 62
Loop : 63
Loop : 64
Loop : 65

无名管道空间大小：64K
 */

int main(){
	int ret;
	int fd[2];
	char buf[11] = {0};

	//创建无名管道
	ret = pipe(fd);
	if(ret < 0){
		perror("pipe");
		return -1;
	}

	pid_t pid = fork();
	if(pid < 0){
		perror("fork");
		return -1;
	}else if(pid > 0){
		close(fd[0]);
		int j = 0;
		while(1){
			//父进程 写
			//一个循环写1000字节，看能循环多少次
			//循环100次 一次10个字节
			for(int i = 0; i < 100; i++){
				//10个字节
				strcpy(buf,"abcdefghij");
				write(fd[1], buf, strlen(buf));
			}
			j++;
			printf("Loop : %d\n", j);
			//100ms
			usleep(100000);
		}
	}else{
		close(fd[1]);
		sleep(100000);
		exit(0);
		while(1){
			//子进程  读
			ret = read(fd[0], buf, 5);
			if(ret > 0){
				printf("str : %s\n", buf);
			}else if(ret == 0){
				printf("ret=0\n");
			}
		}
	}

}
